<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "https://pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
    <Source>
        <Name>llvm</Name>
        <Homepage>http://www.llvm.org/</Homepage>
        <Packager>
            <Name>Serdar Soytetir</Name>
            <Email>kaptan@pisilinux.org</Email>
        </Packager>
        <License>NCSA</License>
        <Summary>The Low Level Virtual Machine</Summary>
        <Description>The LLVM Project is a collection of modular and reusable compiler and toolchain technologies. Despite its name, LLVM has little to do with traditional virtual machines, though it does provide helpful libraries that can be used to build them.</Description>
       <Archive sha1sum="bfda06ab090154d289013912266209595a2e3914" type="tarxz">https://github.com/llvm/llvm-project/releases/download/llvmorg-15.0.7/llvm-project-15.0.7.src.tar.xz</Archive>
       <BuildDependencies>
            <Dependency>ninja</Dependency>
            <Dependency>zlib-devel</Dependency>
            <Dependency>libxml2-devel</Dependency>
            <Dependency>ncurses-devel</Dependency>
            <Dependency>ocaml</Dependency>
            <Dependency>libffi-devel</Dependency>
            <Dependency>groff</Dependency>
            <Dependency>swig</Dependency>
            <Dependency>libedit-devel</Dependency>
            <Dependency versionFrom="3.18.3">cmake</Dependency>
            <Dependency versionFrom="3.9.7">python3-devel</Dependency>
            <!-- Use new plugin-api.h header file from binutils to enable LLVM gold plugin -->
<!--            <Dependency>binutils</Dependency-->
<!--             <Dependency>gcc</Dependency> -->
            <!--Dependency>llvm</Dependency>
            <Dependency>llvm-clang-devel</Dependency>
            <Dependency>lld</Dependency> 
            <Dependency>llvm-polly</Dependency-->
        </BuildDependencies>
        <!--<AdditionalFiles>
            <AdditionalFile owner="root" permission="0644" target="../support-linking-ScopPassManager-against-LLVM-dylib.patch">support-linking-ScopPassManager-against-LLVM-dylib.patch</AdditionalFile>
        </AdditionalFiles>-->
        <Patches>
<!--             <Patch level="2">don-t-move-DBG_VALUE-instructions.patch</Patch> -->
<!--             <Patch level="2">0001-XFAIL-missing-abstract-variable.ll-test-on-ppc64le.patch</Patch> -->
        </Patches>
    </Source>

    <Package>
        <Name>llvm</Name>
        <IsA>app:console</IsA>
        <IsA>library</IsA>
        <RuntimeDependencies>
            <Dependency release="current">llvm-libs</Dependency>
            <Dependency>zlib</Dependency>
            <Dependency>libgcc</Dependency>
            <Dependency>ncurses</Dependency>
            <Dependency>llvm-polly</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="executable">/usr/bin</Path>
            <Path fileType="executable">/usr/bin/llvm-config</Path>
            <Path fileType="header">/usr/include/llvm*</Path>
            <Path fileType="library">/usr/lib/llvm</Path>
            <Path fileType="library">/usr/lib</Path>
            <Path fileType="conf">/etc/ld.so.conf.d</Path>
            <Path fileType="data">/etc/llvm</Path>
            <Path fileType="doc">/usr/share/doc</Path>
            <Path fileType="data">/usr/share/vim</Path>
            <Path fileType="data">/usr/share/llvm/cmake</Path>
            <Path fileType="man">/usr/share/man</Path>
        </Files>
        <AdditionalFiles>
            <AdditionalFile owner="root" permission="0644" target="/etc/ld.so.conf.d/51-llvm.conf">51-llvm.conf</AdditionalFile>
        </AdditionalFiles>
    </Package>

    <Package>
        <Name>llvm-libs</Name>
        <IsA>library</IsA>
        <RuntimeDependencies>
            <Dependency>zlib</Dependency>
            <Dependency>libffi</Dependency>
            <Dependency>libedit</Dependency>
            <Dependency>libgcc</Dependency>
            <Dependency>ncurses</Dependency>
            <Dependency>libxml2</Dependency>
            <Dependency>llvm-polly</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="library">/usr/lib/libLLVM*.so</Path>
            <Path fileType="library">/usr/lib/libLLVM*.so.15*</Path>
            <Path fileType="library">/usr/lib/LLVMgold.*</Path>
            <Path fileType="library">/usr/lib/libLTO.*</Path>
            <Path fileType="library">/usr/lib/libRemarks.so*</Path>
            <Path fileType="library">/usr/lib/bfd-plugins/LLVMgold.so</Path>
            <Path fileType="data">/usr/share/licenses/llvm-libs/LICENSE</Path>
        </Files>
    </Package>
    
    <Package>
        <Name>lldb</Name>
        <Summary>Next generation, high-performance debugger</Summary>
        <RuntimeDependencies>
            <Dependency release="current">llvm-libs</Dependency>
            <Dependency release="current">llvm-clang</Dependency>
            <Dependency>libgcc</Dependency>
            <Dependency>libedit</Dependency>
            <Dependency>libxml2</Dependency>
            <Dependency>ncurses</Dependency>
            <Dependency>python3</Dependency>            
            <Dependency>llvm-polly</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="executable">/usr/bin/argdumper</Path>
            <Path fileType="executable">/usr/bin/lldb*</Path>
            <Path fileType="executable">/usr/bin/liblldb*</Path>
            <Path fileType="library">/usr/lib/liblldb.so*</Path>
            <Path fileType="library">/usr/lib/liblldb*</Path>
            <Path fileType="library">/usr/lib/python2.7/site-packages/readline.so</Path>
            <Path fileType="library">/usr/lib/python3.9/site-packages/lldb/*</Path>
            <Path fileType="library">/usr/lib/liblldbIntelFeatures.so*</Path>
            <Path fileType="library">/usr/lib/liblldbPluginExpressionParserClang.a</Path>
            <Path fileType="library">/usr/lib/liblldbPluginObjCLanguage.a</Path>
        </Files>
    </Package>

    <Package>
        <Name>lldb-devel</Name>
        <Summary>Development headers lldb</Summary>
        <RuntimeDependencies>
            <Dependency release="current">lldb</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="header">/usr/include/lldb/*</Path>
        </Files>
    </Package>

    <Package>
        <Name>lld</Name>
        <Summary> Linker from the LLVM project</Summary>
        <RuntimeDependencies>
            <Dependency release="current">llvm-libs</Dependency>
            <Dependency>libgcc</Dependency>
            <Dependency>llvm-polly</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="executable">/usr/bin/ld.lld</Path>
            <Path fileType="executable">/usr/bin/ld64.lld</Path>
            <Path fileType="executable">/usr/bin/lld</Path>
            <Path fileType="executable">/usr/bin/lld-link</Path>
            <Path fileType="executable">/usr/bin/wasm-ld</Path>		
            <Path fileType="library">/usr/lib/liblldMachO2.so*</Path>
            <Path fileType="library">/usr/lib/liblldCOFF.*</Path>
            <Path fileType="library">/usr/lib/liblldCommon.*</Path>
            <Path fileType="library">/usr/lib/liblldCore.*</Path>
            <Path fileType="library">/usr/lib/liblldDriver.*</Path>
            <Path fileType="library">/usr/lib/liblldELF.*</Path>
            <Path fileType="library">/usr/lib/liblldMachO.*</Path>
            <Path fileType="library">/usr/lib/liblldMinGW.*</Path>
            <Path fileType="library">/usr/lib/liblldReaderWriter.*</Path>
            <Path fileType="library">/usr/lib/liblldWasm.*</Path>
            <Path fileType="library">/usr/lib/liblldYAML.*</Path>
            <Path fileType="library">/usr/lib/liblldMachO2.*</Path>
            <Path fileType="doc">/usr/share/doc/lld</Path>
        </Files>
    </Package>

    <Package>
        <Name>lld-devel</Name>
        <Summary>Development headers lld</Summary>
        <RuntimeDependencies>
            <Dependency release="current">lld</Dependency>
            <Dependency>libgcc</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="header">/usr/include/lld/*</Path>
            <Path fileType="library">/usr/lib/cmake/lld/*</Path>
        </Files>
    </Package>

    <Package>
        <Name>llvm-clang-analyzer</Name>
        <IsA>app:console</IsA>
        <Summary>A source code analysis framework</Summary>
        <Description>The Clang Static Analyzer consists of both a source code analysis framework and a standalone tool that finds bugs in C and Objective-C programs.</Description>
        <RuntimeDependencies>
            <Dependency release="current">llvm-clang</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="executable">/usr/lib/clang-analyzer</Path>
            <Path fileType="executable">/usr/bin/scan-*</Path>
            <Path fileType="data">/usr/share/scan*</Path>
            <Path fileType="library">/usr/share/opt-viewer</Path>
            <Path fileType="executable">/usr/libexec/ccc-*</Path>
            <Path fileType="executable">/usr/libexec/c++-*</Path>
            <Path fileType="executable">/usr/libexec/intercept-c++</Path>
            <Path fileType="executable">/usr/libexec/analyze-c++</Path>
            <Path fileType="executable">/usr/libexec/intercept-cc</Path>
            <Path fileType="executable">/usr/libexec/analyze-cc</Path>
            <Path fileType="man">/usr/share/man/man1/scan-build.1</Path>
        </Files>
    </Package>
	
    <Package>
        <Name>compiler-rt</Name>
        <Summary>Various runtime libraries used by Clang</Summary>
        <RuntimeDependencies>
            <Dependency>libgcc</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="library">/usr/lib/clang/15.0.7/lib/linux/*.so</Path>
            <Path fileType="library">/usr/lib/clang/15.0.7/lib/i386-pc-linux-gnu/*.so</Path>
            <Path fileType="library">/usr/lib/clang/15.0.7/lib/i386-pc-linux-gnu/*.a</Path>
            <Path fileType="library">/usr/lib/clang/15.0.7/lib/x86_64-pc-linux-gnu/*.so</Path>
            <Path fileType="library">/usr/lib/clang/15.0.7/lib/x86_64-pc-linux-gnu/*.a</Path>
        </Files>
    </Package>
	
    <Package>
        <Name>llvm-unwind</Name>
        <Summary>LLVM unwinding library</Summary>
<!--        <RuntimeDependencies>
            <Dependency>libgcc</Dependency>
        </RuntimeDependencies>-->
        <Files>
            <Path fileType="library">/usr/lib/libllvm-unwind*</Path>	
            <Path fileType="library">/usr/lib/llvm-libunwind</Path>		
        </Files>
    </Package>

    <Package>
        <Name>llvm-clang</Name>
        <Summary>A C language family front-end for LLVM</Summary>
        <Description>The goal of the Clang project is to create a new C, C++, Objective C and Objective C++ front-end for the LLVM compiler.</Description>
        <RuntimeDependencies>
            <Dependency release="current">llvm-libs</Dependency>
            <Dependency>libxml2</Dependency>
            <Dependency>libgcc</Dependency>
            <Dependency>llvm-polly</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="executable">/usr/bin/diagtool</Path>
            <Path fileType="executable">/usr/bin/pp-trace</Path>
            <Path fileType="executable">/usr/bin/modularize</Path>
            <Path fileType="executable">/usr/bin/find-all-symbols</Path>
            <Path fileType="executable">/usr/bin/git-clang*</Path>
            <Path fileType="executable">/usr/bin/clang*</Path>
            <Path fileType="executable">/usr/bin/c-index-test</Path>
            <Path fileType="executable">/usr/bin/tblgen</Path>
            <Path fileType="library">/usr/lib/libclang*</Path>
            <Path fileType="library">/usr/lib/clang/</Path>
            <Path fileType="library">/usr/lib/libfindAllSymbols.so*</Path>
            <Path fileType="man">/usr/share/man/man1/clang.1</Path>
            <Path fileType="data">/usr/lib/cmake/clang/Clang*</Path>
            <Path fileType="data">/usr/share/clang</Path>
        </Files>
    </Package>

    <Package>
        <Name>llvm-clang-32bit</Name>
        <Summary>A C language family front-end for LLVM</Summary>
        <Description>The goal of the Clang project is to create a new C, C++, Objective C and Objective C++ front-end for the LLVM compiler.</Description>
        <Files>
            <Path fileType="library">/usr/lib32/libclang*</Path>
            <Path fileType="library">/usr/lib32/clang/</Path>
            <Path fileType="library">/usr/lib32/libfindAllSymbols.so*</Path>
            <Path fileType="data">/usr/lib32/cmake/clang/Clang*</Path>
        </Files>
    </Package>

    <Package>
        <Name>llvm-clang-devel</Name>
        <Summary>Development headers for llvm-clang</Summary>
        <RuntimeDependencies>
            <Dependency release="current">llvm-clang</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="header">/usr/include/clang</Path>
            <Path fileType="header">/usr/lib/clang/15.0.7/include</Path>
            <Path fileType="header">/usr/include/clang-c</Path>
            <Path fileType="header">/usr/include/clang-tidy</Path>
        </Files>
    </Package>
    
    <Package>
        <Name>llvm-mlir</Name>
        <Summary>MLIR is intended to be a hybrid IR which can support multiple different requirements in a unified infrastructure</Summary>
        <RuntimeDependencies>
            <Dependency release="current">llvm-libs</Dependency>
            <Dependency>libgcc</Dependency>
            <Dependency>ncurses</Dependency>
            <Dependency>llvm-polly</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="executable">/usr/bin/mlir*</Path>
            <Path fileType="library">/usr/lib/libMLIR*</Path>
            <Path fileType="library">/usr/lib/libmlir*</Path>
            <Path fileType="header">/usr/include/mlir*</Path>
            <Path fileType="data">/usr/lib/cmake/mlir</Path>
        </Files>
    </Package>
    
    <Package>
        <Name>llvm-polly</Name>
        <Summary>High-level loop and data-locality optimizer and optimization infrastructure for LLVM</Summary>
        <RuntimeDependencies>
            <Dependency>libgcc</Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="library">/usr/lib/LLVMPolly.so</Path>
            <Path fileType="library">/usr/lib/libPolly*.so*</Path>
            <Path fileType="header">/usr/include/polly</Path>
            <Path fileType="data">/usr/lib/cmake/polly</Path>
        </Files>
    </Package>
	
    <!--Package>
        <Name>llvm-docs</Name>
        <PartOf>programming.docs</PartOf>
        <IsA>data:doc</IsA>
        <Summary>Documentation for LLVM</Summary>
        <Files>
            <Path fileType="doc">/usr/share/doc/llvm/html</Path>
            <Path fileType="doc">/usr/share/doc/llvm/ocamldoc</Path>
        </Files>
    </Package-->

    <Package>
        <Name>llvm-32bit</Name>
        <PartOf>emul32</PartOf>
        <Summary>32-bit shared libraries for llvm</Summary>
        <BuildType>emul32</BuildType>
        <BuildDependencies>
            <Dependency>zlib-32bit</Dependency>
            <Dependency>libffi-32bit</Dependency>
            <Dependency>libxml2-32bit</Dependency>
            <Dependency>ncurses-32bit</Dependency>
<!--             <Dependency>libcxx-32bit</Dependency>  -->
        </BuildDependencies>
        <RuntimeDependencies>
            <Dependency release="current">llvm</Dependency>
            <Dependency release="current">llvm-clang-32bit</Dependency>
            <Dependency>libgcc</Dependency>
            <Dependency>libxml2-32bit</Dependency>
            <Dependency>ncurses-32bit</Dependency>
            <Dependency>zlib-32bit</Dependency>
            <Dependency>libffi-32bit</Dependency>
<!--             <Dependency>libcxx-32bit</Dependency>  -->
        </RuntimeDependencies>
        <Files>
            <Path fileType="executable">/usr/bin/llvm-config-32</Path>
            <Path fileType="library">/usr/lib32</Path>
        </Files>
    </Package>

    <History>
        <Update release="23">
            <Date>2023-01-17</Date>
            <Version>15.0.7</Version>
            <Comment>Version bump.</Comment>
            <Name>Mustafa Cinasal</Name>
            <Email>muscnsl@gmail.com</Email>
        </Update>
        <Update release="22">
            <Date>2022-06-27</Date>
            <Version>14.0.6</Version>
            <Comment>Version bump.</Comment>
            <Name>Mustafa Cinasal</Name>
            <Email>muscnsl@gmail.com</Email>
        </Update>
        <Update release="21">
            <Date>2022-04-29</Date>
            <Version>14.0.3</Version>
            <Comment>Version bump.</Comment>
            <Name>Mustafa Cinasal</Name>
            <Email>muscnsl@gmail.com</Email>
        </Update>
        <Update release="20">
            <Date>2022-04-24</Date>
            <Version>13.0.1</Version>
            <Comment>Version bump.</Comment>
            <Name>Mustafa Cinasal</Name>
            <Email>muscnsl@gmail.com</Email>
        </Update>
        <Update release="19">
            <Date>2021-10-22</Date>
            <Version>13.0.0</Version>
            <Comment>Version bump.</Comment>
            <Name>İdris Kalp</Name>
            <Email>idriskalp@gmail.com</Email>
        </Update>
        <Update release="18">
            <Date>2021-07-10</Date>
            <Version>12.0.1</Version>
            <Comment>Version bump</Comment>
            <Name>İdris Kalp</Name>
            <Email>idriskalp@gmail.com</Email>
        </Update>
        <Update release="17">
            <Date>2021-07-07</Date>
            <Version>12.0.1</Version>
            <Comment>Version bump.</Comment>
            <Name>İdris Kalp</Name>
            <Email>idriskalp@gmail.com</Email>
        </Update>
        <Update release="16">
            <Date>2021-06-03</Date>
            <Version>12.0.0</Version>
            <Comment>Version bump.</Comment>
            <Name>İdris Kalp</Name>
            <Email>idriskalp@gmail.com</Email>
        </Update>
        <Update release="15">
            <Date>2021-05-15</Date>
            <Version>11.1.0</Version>
            <Comment>Version bump.</Comment>
            <Name>İdris Kalp</Name>
            <Email>idriskalp@gmail.com</Email>
        </Update>
        <Update release="14">
            <Date>2020-11-12</Date>
            <Version>11.0.0</Version>
            <Comment>Version bump.</Comment>
            <Name>İdris Kalp</Name>
            <Email>idriskalp@gmail.com</Email>
        </Update>
        <Update release="13">
            <Date>2020-09-23</Date>
            <Version>10.0.1</Version>
            <Comment>Version bump.</Comment>
            <Name>Mustafa Cinasal</Name>
            <Email>muscnsl@gmail.com</Email>
        </Update>
        <Update release="12">
            <Date>2020-05-04</Date>
            <Version>10.0.0</Version>
            <Comment>Rebuild.</Comment>
            <Name>Mustafa Cinasal</Name>
            <Email>muscnsl@gmail.com</Email>
        </Update>
        <Update release="11">
            <Date>2020-03-24</Date>
            <Version>10.0.0</Version>
            <Comment>Version bump.</Comment>
            <Name>Idris Kalp</Name>
            <Email>idriskalp@gmail.com</Email>
        </Update>
        <Update release="10">
            <Date>2019-05-23</Date>
            <Version>7.1.0</Version>
            <Comment>Version bump.</Comment>
            <Name>Mustafa Cinasal</Name>
            <Email>muscnsl@gmail.com</Email>
        </Update>
        <Update release="9">
            <Date>2018-12-18</Date>
            <Version>6.0.1</Version>
            <Comment>Version bump.</Comment>
            <Name>Ertuğrul Erata</Name>
            <Email>ertugrulerata@gmail.com</Email>
        </Update>
        <Update release="8">
            <Date>2018-12-15</Date>
            <Version>6.0.1</Version>
            <Comment>Version bump.</Comment>
            <Name>Ertuğrul Erata</Name>
            <Email>ertugrulerata@gmail.com</Email>
        </Update>
        <Update release="7">
            <Date>2018-11-23</Date>
            <Version>5.0.1</Version>
            <Comment>Version bump.</Comment>
            <Name>Ertuğrul Erata</Name>
            <Email>ertugrulerata@gmail.com</Email>
        </Update>
        <Update release="6">
            <Date>2018-07-25</Date>
            <Version>5.0.1</Version>
            <Comment>Version bump.</Comment>
            <Name>Ertuğrul Erata</Name>
            <Email>ertugrulerata@gmail.com</Email>
        </Update>
        <Update release="5">
            <Date>2017-09-04</Date>
            <Version>3.8.0</Version>
            <Comment>Rebuild.</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="4">
            <Date>2017-02-12</Date>
            <Version>3.8.0</Version>
            <Comment>Rebuild</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="3">
            <Date>2016-06-09</Date>
            <Version>3.8.0</Version>
            <Comment>Release Bump</Comment>
            <Name>Pisi Linux Community</Name>
            <Email>admin@pisilinux.org</Email>
        </Update>
        <Update release="2">
            <Date>2016-05-25</Date>
            <Version>3.8.0</Version>
            <Comment>Release bump</Comment>
            <Name>Serdar Soytetir</Name>
            <Email>kaptan@pisilinux.org</Email>
        </Update>
        <Update release="1">
            <Date>2016-04-06</Date>
            <Version>3.8.0</Version>
            <Comment>First release</Comment>
            <Name>Serdar Soytetir</Name>
            <Email>kaptan@pisilinux.org</Email>
        </Update>
    </History>
</PISI>
